Dynamic radio client

ABSTRACT

This disclosure relates to enabling a potential participant to define preferences for a talk radio program. In one embodiment, via a radio client, a potential participant defines preferences for a talk radio program wherein the preferences include at least a topic of interest and a semantic relevance. In one embodiment, the participant preferences also include a time availability indicating when the potential participant is available to participate in the talk radio program. The radio client sends the preferences to a talk radio program service. When a talk radio program satisfying the preferences of the potential participant is scheduled or otherwise available, the talk radio program service notifies the potential participant. A topic of the talk radio program is semantically related to the topic of interest of the potential participant to at least a degree defined by the semantic relevance.

RELATED APPLICATIONS

This application claims the benefit of provisional patent application Ser. No. 61/173,624, filed Apr. 29, 2009, the disclosure of which is hereby incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

The present invention relates to talk radio programming and more particularly relates to a enabling a potential listener to define a number of preferences such that the potential listener is notified when a talk radio program satisfying the preferences of the potential listener is scheduled or otherwise available.

BACKGROUND OF THE INVENTION

With the popularity of MP3 type music players and smart mobile phones, talk radio programming for both terrestrial and Internet radio is expected to grow as an alternative to current levels of music content and associated royalties. Specifically, with Internet radio, small listener audience talk radio is beginning to emerge, allowing low-cost entry of hosts and radio shows into the market. These small talk radio shows may begin to mimic followings much like blogs and YouTube™. New business models (primarily advertisement based) are beginning to emerge to monetize consumption of this self-generated content. For example, revenue from Internet talk radio advertising has been forecasted to grow from approximately $200 million in 2006 to over $19 billion in 2020.

While providing advertisement based radio programs may appear to be lucrative, putting together many such small talk radio shows in terms of determining relevant topics, and coordinating and scheduling the necessary combination of guests, hosts, and advertisers, may be cost prohibitive for many terrestrial and Internet radio stations.

SUMMARY OF THE INVENTION

This disclosure relates to enabling a potential participant to define preferences for a talk radio program. In one embodiment, a potential participant defines participant preferences for a talk radio program via a radio client, wherein the participant preferences include at least a topic of interest and a semantic relevance. In one embodiment, the participant preferences also include a time availability indicating when the potential participant is available to participate in the talk radio program. The radio client sends the preferences to a talk radio program service. When a talk radio program satisfying the participant preferences of the potential participant is scheduled or otherwise available, the talk radio program service notifies the potential participant. A topic of the talk radio program is semantically related to the topic of interest of the potential participant to at least a degree defined by the semantic relevance.

In one embodiment, if the potential participant chooses to participate in the talk radio program, one or more actions may be performed automatically on behalf of the potential participant. The one or more actions may include automatically adding the potential participant to a call queue for the talk radio program, automatically joining the potential participant to a chat room, automatically posting a comment from the potential participant to a chat room, automatically launching supplemental content related to the talk radio program, automatically inviting one or more friends of the potential participant to participate in the talk radio program, or automatically configuring a client device of the potential participant with one or more pre-defined settings.

In one embodiment, while participating in the talk radio program, the radio client of the potential participant may enable the potential participant to join one of a number of chat rooms automatically established by the talk radio program service. The chat rooms may include a general chat room for listeners of the talk radio program, one or more chat rooms for listeners of the talk radio program in different geographic areas, one or more chat rooms for listeners of the talk radio program having similar user profiles, and/or a chat room for listeners of different talk radio programs having the same or similar topics.

Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.

FIG. 1 illustrates a system for providing dynamic talk radio programs according to one embodiment of the present disclosure;

FIG. 2 is a flow chart illustrating the operation of the talk radio program service of FIG. 1 according to one embodiment of the present disclosure;

FIG. 3 illustrates an exemplary graphical user interface enabling a potential participant to define a number of participant preferences according to one embodiment of the present disclosure;

FIG. 4 illustrates the operation of the talk radio program service to dynamically schedule a talk radio program according to one embodiment of the present disclosure;

FIG. 5 illustrates a portion of an exemplary ontology;

FIG. 6 is a flow chart illustrating the operation of one of the radio clients of FIG. 1 to process a notification of a talk radio program from the talk radio program service according to one embodiment of the present disclosure;

FIG. 7 is a flow chart illustrating the operation of one of the radio clients of FIG. 1 to enable a potential participant to join a chat room during a talk radio program according to one embodiment of the present disclosure;

FIG. 8 illustrates an exemplary graphical user interface enabling a potential participant to join a chat room during a talk radio program according to one embodiment of the present disclosure;

FIG. 9 is a block diagram of an exemplary embodiment of the server of FIG. 1; and

FIG. 10 is a block diagram of an exemplary embodiment of one of the client devices of FIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.

FIG. 1 is a diagram illustrating a system 10 for scheduling a talk radio program. In general, the system 10 provides dynamic talk radio program scheduling for Internet radio and/or terrestrial radio. A service is provided whereby potential listeners, potential guests, potential hosts, and/or potential advertisers are combined dynamically to schedule talk radio programs by leveraging resource parameters including topic and time availability preferences of the potential listeners, potential guests, potential hosts, and/or potential advertisers. Other resource parameters such as costs may also be utilized to determine the scheduling of a dynamic talk radio program.

The system 10 includes a talk radio program service 12 implemented by a server 14 communicatively coupled to a number of client devices 16 over a network 18. The network 18 may be any type of Wide Area Network (WAN), Local Area Network (LAN), or the like, or any combination thereof. The network 18 may include wired components, wireless components, or both wired and wireless components. As an example, the network 18 may be a distributed public network such as the Internet.

The server 14 is a physical server. Alternatively, the server 14 is a number of physical servers operating in a collaborative fashion for redundancy or load-sharing purposes. The server 14 is connected to the network 18 via a wired or wireless network interface. The server 14 includes a radio program process 20, which is preferably implemented in software. In addition, the server 14 maintains a participant preference repository 22 and a radio program repository 24. Note that, although in this exemplary embodiment the radio program process 20 is shown as a single component executing on a single server 14, the radio program process 20 may be implemented as a number of components that may execute on any number of servers or computers.

The client devices 16 are physical devices such as, for example, mobile smart phones, personal computers, or the like. The client devices 16 are connected to the network 18 via wired or wireless communication interfaces. In this embodiment, the client devices 16 include client devices 16 a-1 through 16 a-N_(a) of a number of potential listeners 26 a-1 through 26 a-N_(a), which are generally referred to herein as client devices 16 a and potential listeners 26 a. The potential listeners 26 a are users registered with the talk radio program service 12 that desire to listen to talk radio programs. The client devices 16 also include client devices 16 b-1 through 16 b-N_(b) of a number of potential hosts 26 b-1 through 26 b-N_(b), which are generally referred to herein as client devices 16 b and potential hosts 26 b. The potential hosts 26 b are users registered with the talk radio program service 12 that desire to host talk radio programs. The client devices 16 also include client devices 16 c-1 through 16 c-N_(c) of a number of potential guests 26 c-1 through 26 c-N_(c), which are generally referred to herein as client devices 16 c and potential guests 26 c. The potential guests 26 c are users registered with the talk radio program service 12 that desire to be guests on talk radio programs. Lastly, the client devices 16 also include client devices 16 d-1 through 16 d-N_(d) of a number of potential advertisers 26 d-1 through 26 d-N_(d), which are generally referred to herein as client devices 16 d and potential advertisers 26 d. The potential advertisers 26 d are users or entities that are registered with the talk radio program service 12 that desire to advertise on talk radio programs. Note that the potential listeners 26 a, the potential hosts 26 b, the potential guests 26 c, and the potential advertisers 26 d are generally referred to herein as potential participants 26.

The client devices 16 a-1 through 16 a-N_(a) include radio clients 28 a-1 through 28 a-N_(a), the client devices 16 b-1 through 16 b-N_(b) include radio clients 28 b-1 through 28 b-N_(b), the client devices 16 c-1 through 16 c-N_(c) include radio clients 28 c-1 through 28 c-N_(c), and the client devices 16 d-1 through 16 d-N_(d) include radio clients 28 d-1 through 28 d-N_(d). The radio clients 28 a-1 through 28 a-N_(a), 28 b-1 through 28 b-N_(b), 28 c-1 through 28 c-N_(c), and 28 d-1 through 28 d-N_(d) are generally referred to herein as radio clients 28 a, 28 b, 28 c, and 28 d, and more generally as radio clients 28. The radio clients 28 are preferably implemented in software. In one embodiment, the radio clients 28 are web browsers. In another embodiment, the radio clients 28 are custom software applications utilized in association with the talk radio program service 12. Note that the client devices 16 may additionally include media players or media player plug-ins that operate to provide media playback capabilities for listening to talk radio programs. Alternatively, the radio clients 28 may include a media playback feature that is used to provide playback of talk radio programs.

As discussed below in more detail, in operation, the radio program process 20 obtains participant preferences from at least the potential listeners 26 a. However, in some embodiments, the radio program process 20 also obtains participant preferences from the potential hosts 26 b, the potential guests 26 c, and/or the potential advertisers 26 d. The participant preferences of the potential listeners 26 a, the potential hosts 26 b, the potential guests 26 c, and/or the potential advertisers 26 d are stored in the participant preference repository 22. According to the exemplary embodiment, the radio program process 20 automatically aggregates different combinations of the potential listeners 26 a, the potential hosts 26 b, the potential guests 26 c, and/or the potential advertisers 26 d based on resource parameters, such as the participant preferences, to dynamically schedule talk radio programs.

FIG. 2 is a flow chart illustrating the operation of the radio service 12, and more particularly the radio program process 20, of FIG. 1 according to one embodiment of the present disclosure. The radio program process 20 registers the potential participants 26 of the talk radio program service 12 (step 100). In one embodiment, participant registration may be limited to the potential listeners 26 a. However, in another embodiment, participant registration may further require at least one of the potential hosts 26 b, the potential guests 26 c, and/or the potential advertisers 26 d. In one embodiment, each of the potential participants 26 may register with the talk radio program service 12 by accessing a registration web page provided by the server 14 via a web browser, which may be the radio client 28, on the client device 16 of the potential participant 26. In another embodiment, the radio client 28 is a custom application that enables registration.

The radio program process 20 receives participant preferences for each of the potential participants 26 (step 102). In the preferred embodiment that is the focus of this discussion, the participant preferences include a topic of interest, a semantic relevance for the topic of interest, and a time availability. However, the participant preferences may include one or more of the following: one or more topics of interest, one or more guests of interest, a semantic relevance preference for the one or more topics of interest and/or the one or more guests of interest, a time availability, a location availability, one or more hosts of interest, a notification preference, a one or more action preferences, or any combination thereof. The radio program process 20 stores the participant preferences for each of the potential participants 26 in the participant preference repository 22. Preferably, the potential participants 26 provide their participant preferences to the talk radio program service 12 via the radio clients 28, which, as discussed above, may be web browsers or custom applications. The radio program process 20 may receive the participant preferences at the time of registration and/or after registration.

The radio program process 20 schedules a talk radio program for production based on the participant preferences (step 104). In general, as discussed below in detail, the radio program process 20 identifies a cluster of potential listeners 26 a and, in some embodiments, a potential host 26 b, one or more potential guests 26 c, and/or one or more potential advertisers 26 d having the same topic of interest or substantially similar topics of interest and having the same or sufficiently overlapping time availabilities as potential participants 26 for a talk radio program. For example, the talk radio program may be scheduled when a predetermined number of the potential listeners 26 a have selected the same topic of interest or sufficiently similar topics of interest and are available during a particular period of time sufficient for the talk radio program. The predetermined number of potential listeners 26 a may depend on the type of talk radio program being scheduled. The predetermined number of potential listeners 26 a may be a highest number of potential listeners 26 a associated with a particular topic or sufficiently similar topics during a particular time period. As another alternative, the predetermined number of potential listeners 26 a may also be specified with an actual number or range of numbers, e.g., 25 or more, for example.

Note that, when scheduling the talk radio program, the radio program process 20 may also consider resource parameters in addition to participant preferences. In one embodiment, the additional resource parameters considered may include at least one of advertisement revenue generated from sponsorship by at least one of the potential advertisers 26 d and costs of the talk radio program, including any desired fees for the potential host(s) 26 b and the potential guest(s) 26 c to participate in the talk radio program.

As used herein, scheduling of the talk radio program may include specifying the topic assigned to the talk radio program and the potential participants 26 of the talk radio program, and proposing one or more dates and times for conducting the talk radio program. In one embodiment, such elements selected for inclusion into the talk radio program may be stored in the radio program repository 24.

After the talk radio program has been scheduled, the radio program process 20 sends the potential participants 26 a notification of the scheduling of the talk radio program (step 106). In one embodiment, not all of the potential participants 26 of the talk radio program service 12 are sent the notification, just the potential participants 26 determined to be available to participate in the talk radio program. The content of the notification may be different for each type of potential participant 26. For example, the notification sent to the potential listeners 26 a may include information about the talk radio program and may invite the potential listeners 26 a to tune-in. Only once potential listeners 26 a tune-in to the talk radio program do they become actual listeners. The notification sent to the potential host(s) 26 b and the potential guest(s) 26 c may include not only the information about talk radio program, but also contact information of the people in charge at the radio program service hosting the talk radio program, talking points, potential listener demographic information, and the like.

It should be noted that while talk radio programs are scheduled by the radio program process 20, the talk radio programs may be produced and distributed by the talk radio program service 12 or one or more third-party radio services. Further, the talk radio programs may be delivered on one or more Internet radio stations and/or one or more terrestrial radio stations (e.g., AM radio station(s), FM radio station(s), HD radio station(s), or Satellite radio station(s)). In one embodiment, the scheduled talk radio programs may be streamed across the Internet during production and played by an electronic device in real-time (e.g., Internet radio streams or webcasts). In another embodiment, the talk radio programs may be recorded and stored as an audio file that is downloaded to the electronic device and played (e.g., podcasts) after production.

FIG. 3 is graphical user interface 30 enabling a potential participant 26 to define his participant preferences according to one embodiment of the present disclosure. The graphical user interface 30 is presented to the potential participant 26 via the radio client 28 at the client device 16 of the potential participant 26. In one embodiment, the graphical user interface 30 is used to obtain participant preferences from the potential listeners 26 a. In another embodiment, the graphical user interface 30 is used to obtain the participant preferences from the potential listeners 26 a and one or more of the potential hosts 26 b, the potential guests 26 c, and/or the potential advertisers 26 d. Further, in one embodiment, the radio client 28 is a web browser, and the graphical user interface 30 is a web page provided by the radio program process 20. In another embodiment, the radio client 28 is a custom application that operates to present the graphical user interface 30 to the potential participant 26 and provide the resulting participant preferences to the radio program process 20.

As illustrated, in this embodiment, the graphical user interface 30 includes a topic field 32 that enables the potential participant 26 to enter or otherwise select a topic of interest. The potential participant 26 may be enabled to enter any arbitrary topic of interest or may be required to select the topic of interest from a pre-defined list of topics (e.g., select from a pull-down menu of pre-defined topics). Further, the graphical user interface 30 includes a remove button 34 that enables the potential participant 26 to remove a topic of interest and an add button 36 that enables the potential participant 26 to add a topic of interest.

The graphical user interface 30 also includes a guest field 38 that enables the potential participant 26 to enter a guest of interest. The potential participant 26 may be enabled to enter any guest of interest or may be required to select the guest of interest from a pre-defined list of guests (e.g., select from a pull-down menu of pre-defined guests). Further, the graphical user interface 30 includes a remove button 40 that enables the potential participant 26 to remove a guest of interest and an add button 42 that enables the potential participant 26 to add a guest of interest.

The graphical user interface 30 also includes a semantic relevance slider bar 44 that enables the potential participant 26 to enter a desired semantic relevance value by moving a bar 46. In one embodiment, the semantic relevance value is utilized for both the topic(s) of interest and the guest(s) of interest. In another embodiment, the semantic relevance value is utilized for the topic(s) of interest but not the guest(s) of interest. In yet another embodiment, separate semantic relevance values may be defined for each topic of interest or the topic(s) of interest in general and for each guest of interest or the guest(s) of interest in general.

The graphical user interface 30 also includes a time availability field 48 that enables the potential participant 26 to define when the potential participant is available to participate in a talk radio program. The potential participant 26 may be enabled to enter any arbitrary days and times or be required to select the time availability from a number of pre-defined lists of days and times (e.g., select from a pull-down menu of pre-defined days and times). Further, the graphical user interface 30 includes a remove button 50 that enables the potential participant 26 to remove a previously entered time availability and an add button 52 that enables the potential participant 26 to add a time availability.

The graphical user interface 30 also includes a location availability field 54 that enables the potential participant 26 to enter location(s) at which the potential participant is available to participate in a talk radio program. Note that while the locations are illustrated in this example as “home” and “car,” the manner in which the location of the potential participant is determined is not the subject of this disclosure. Any suitable mechanism for determining the location of the potential participant 26 may be used. The location availability is preferably utilized by the radio program process 20 such that notifications for radio programs are only provided to the potential participants 26 when they are located in locations defined by their corresponding location availabilities. Further, the graphical user interface 30 includes a remove button 56 that enables the potential participant 26 to remove a location and an add button 58 that enables the potential participant 26 to add a location.

The graphical user interface 30 also includes an auto-action field 60 that enables the potential participant 26 to enter or otherwise select an action to be automatically performed when the potential participant 26 accepts a notification of a talk radio program and/or begins listening to the talk radio program (i.e., “tunes to” the talk radio program). In this example, the action is automatically adding the potential participant 26 to a call queue for the talk radio program. The action entered by the potential participant 26 is preferably one of a number of pre-defined actions. For example, the action may be selected by the potential participant 26 from a pull-down menu. Further, the graphical user interface 30 includes a remove button 62 that enables the potential participant 26 to remove a previously selected action and an add button 64 that enables the potential participant 26 to add an action.

The graphical user interface 30 also includes a host field 66 that enables the potential participant 26 to enter a host of interest. The potential participant 26 may be enabled to enter any host of interest or be required to select the host of interest from a pre-defined list of hosts (e.g., select from a pull-down menu of pre-defined hosts). Further, the graphical user interface 30 includes a remove button 68 that enables the potential participant 26 to remove a host of interest and an add button 70 that enables the potential participant 26 to add a host of interest.

Lastly, the graphical user interface 30 includes an alert mode field 72 that enables the potential participant 26 to select one or more desired alert modes (i.e., one or more means by which the potential participant 26 is to be notified of a talk radio program). The desired alert modes are also referred to herein as notification preferences. Note that the potential participant 26 provides contact information enabling such notifications. This contact information may be provided either when defining the participant preferences or during registration. For example, the potential participant 26 may be required to provide his mobile telephone number, his e-mail address, or the like. Further, the graphical user interface 30 includes a remove button 74 that enables the potential participant 26 to remove a previously entered alert mode and an add button 76 that enables the potential participant 26 to add an alert mode.

It should be noted that the potential participant 26 may be enabled to define multiple sets of participant preferences for different time periods. For example, the graphical user interface 30 may be used to define one set of participant preferences and another graphical user interface 30′ may be used to define another set of participant preferences for different time periods such as, for instance, different days of the week and/or different times of the day.

FIG. 4 is a flow chart illustrating the operation of the radio program process 20 to schedule a talk radio program utilizing the participant preferences of FIG. 3 according to one embodiment of the present disclosure. Note that, as with other flow charts discussed herein, the steps of the flow chart of FIG. 4 may be arranged in a different order without departing from the spirit or scope of this disclosure. First, the radio program process 20 identifies a sufficient cluster of potential listeners 26 a that have the same topic of interest or sufficiently similar topics of interest and are available during a particular time period (step 200). The cluster of potential listeners 26 a includes at least a predetermined number of potential listeners 26 a. As discussed above, the predetermined number of potential listeners 26 a may be a pre-defined numerical value (e.g., at least 25 potential listeners). Alternatively, the predetermined number of potential listeners 26 a may be a highest number of potential listeners 26 a for any particular topic of interest or sufficiently related topics of interest during a particular time period.

Further, the semantic relevance values defined in the participant preferences of the potential listeners 26 a are used to determine whether the topics of interests of the potential listeners 26 a are “sufficiently similar.” More specifically, using the semantic relevance values of the potential listeners 26 a, the radio program process 20 identifies a cluster of potential listeners 26 a having topics of interest that are the same or semantically related to at least a degree defined by the semantic relevance values of the potential listeners 26 a. Note that semantic relationships between topics are preferably defined by an ontology, taxonomy, or similar data structure either maintained by or accessible to the radio program process 20.

For example, in one embodiment, the semantic relevance value defined in the participant preferences of a potential listener 26 a may be used to expand the topic(s) of interest of the potential listener 26 a. For example, if the potential listener 26 a explicitly defined “Miami Hurricanes” as a topic of interest in his participant preferences and selected a moderate semantic relevance value, then other semantically related topics such as “Randy Shannon,” “ACC Football,” and the like may be considered as additional topics of interest for the potential listener 26 a. In this manner, the topic of interest of the potential listener 26 a has been expanded as a function of the semantic relevance value defined by the potential listener 26 a. Therefore, potential listeners 26 a have topics of interest that are the same or sufficiently similar if the potential listeners 26 a have the same topics of interest when considering both the topics of interest explicitly defined in the participant preferences of the potential listeners 26 a and additional topics of interest resulting from the expansion of the explicitly defined topics of interest as a function of the semantic relevance values defined by the potential listeners 26 a.

Next, the radio program process 20 identifies a potential host 26 b for a talk radio program for the cluster of potential listeners 26 a identified in step 200 (step 202). More specifically, in one embodiment, a topic for a talk radio program for the identified cluster of potential listeners 26 a is selected. For example, the most popular topic of interest explicitly defined by the participant preferences of the potential listeners 26 a in the identified cluster may be selected as the topic of the talk radio program. As another example, the most popular topic of interest either explicitly defined by the participant preferences of the potential listeners 26 a in the identified cluster or resulting from the expansion of the explicitly defined topics of interests as a function of the semantic relevance values defined by the participant preferences may be selected as the topic of the talk radio program. Then, a potential host 26 b that has a topic of interest that is the same as or is sufficiently similar to the topic selected for the talk radio program and that is available at the same time as the cluster of potential listeners 26 a is selected as a potential host 26 b for the talk radio program. In one embodiment, whether a topic of interest of the potential host 26 b is “sufficiently similar” to the topic selected for the talk radio program is determined based on the semantic relevance value defined by the potential host 26 b and stored in the participant preferences of the potential host 26 b. Note that when selecting the potential host 26 b for the talk radio program, the radio program process 20 may also consider any hosts of interest defined by participant preferences of the potential listeners 26 a identified for the talk radio program. For instance, if multiple potential hosts 26 b have topics of interest that are the same as or sufficiently similar to the topic selected for the talk radio program and are available at the same time as the cluster of potential listeners 26 a, the radio program process 20 may select one of these potential hosts 26 b that is most identified as a host of interest in the participant preferences of the cluster of potential listeners 26 a for the talk radio program.

The radio program process 20 also identifies one or more potential guests 26 c for the talk radio program (step 204). More specifically, in one embodiment, after the topic for the talk radio program is selected, the radio program process 20 may analyze the participant preferences of the potential guests 26 c to identify one or more potential guests 26 c that have topics of interest that are the same as or sufficiently similar to the topic selected for the talk radio program for the cluster of potential listeners 26 a and that is available at the same time as the cluster of potential listeners 26 a. In one embodiment, whether a topic of interest of the potential guest 26 c is “sufficiently similar” to the topic selected for the talk radio program is determined based on the semantic relevance value defined by the potential guest 26 c and stored in the participant preferences of the potential guest 26 c. Note that when selecting the one or more potential guests 26 c for the talk radio program, the radio program process 20 may also consider any guests of interest defined by participant preferences of the potential listeners 26 a identified for the talk radio program. For instance, if multiple potential guests 26 c have topics of interest that are the same as or sufficiently similar to the topic selected for the talk radio program and are available at the same time as the cluster of potential listeners 26 a, the radio program process 20 may select one or more of these potential guests 26 c that are most identified as guests of interest in the participant preferences of the cluster of potential listeners 26 a for the talk radio program.

The radio program process 20 also identifies one or more potential advertisers 26 d for the talk radio program (step 206). When selecting the one or more potential advertisers 26 d, the radio program process 20 may consider participant preferences such as topics of interest and semantic relevance. Potential advertisers 26 d may be notified of the opportunity to advertise on the talk radio program. The notifications may include an advertisement fee to be paid by the potential advertisers 26 d which may be a function of fees to be paid to the potential host 26 b and/or the one or more potential guests 26 c and enable the potential advertisers 26 d to choose whether to advertise on the talk radio program. Note that, in an alternative embodiment, advertisements may be selected for the talk radio program at some later point in time. For example, in one exemplary alternative embodiment, advertisements may be selected for the talk radio program as the talk radio program is being produced using a late-binding advertisement selection and insertion process.

Lastly, the radio program process 20 schedules the talk radio program with the cluster of potential listeners 26 a identified in step 200, the potential host 26 b identified in step 202, the one or more guests 26 c identified in step 204, and the one or more potential advertisers 26 d identified in step 206 (step 208). Information defining the scheduled talk radio program may be stored in the radio program repository 24. Further, as discussed above, the scheduled talk radio program may be produced by the talk radio program service 12 or by a third-party radio service, which may be either an Internet radio station or a terrestrial radio station.

FIG. 5 illustrates a portion of an exemplary ontology 78 that may be used by the radio program process 20 to determine whether topics are sufficiently similar as a function of a potential participant's semantic relevance value according to one embodiment of the present disclosure. As will be apparent to one having ordinary skill in the art upon reading this disclosure, other techniques may be used for determining semantic relevance and are considered within the spirit and scope of the present disclosure. The use of an ontology, such as the ontology 78, is exemplary and is not intended to limit the scope of the present disclosure.

For this example, assume that the potential participant 26 has explicitly defined “Miami Hurricanes” as a topic of interest and that the semantic relevance value selected by the potential participant 26 may be either “High,” “Medium,” or “Low.” If the semantic relevance value is “High,” then the radio program process 20 considers only the explicitly defined topic of interest (Miami Hurricanes). If the semantic relevance value is “Medium,” then the radio program process 20 considers both the explicitly defined topic of interest (Miami Hurricanes) and other topics directly related to the topic of interest in the ontology 78 (Randy Shannon, ACC Football, and Larry Coker). Lastly, if the semantic value is “Low,” then the radio program process 20 considers the explicitly defined topic of interest (Miami Hurricanes), topics directly related to the explicitly defined topic of interest in the ontology 78 (Randy Shannon, ACC Football, and Larry Coker), and topics having two degrees of separation from the explicitly defined topic of interest in the ontology 78 (Miami Dolphins, Dallas Cowboys, Virginia Tech, NC State, UNC, ESPNU, and UTSA). Note that the semantic relevance values of “High,” “Medium,” and “Low” are exemplary and are not intended to limit the scope of the present disclosure. For example, the semantic relevance values may be numbers in the range of and including 1 through 10.

FIG. 6 is a flow chart illustrating the operation of the radio client 28 upon receipt of a notification of a scheduled talk radio program according to one embodiment of the present disclosure. This discussion focuses on receipt of a notification by a radio client 28 a of a potential listener 26 a. However, a similar process may be performed by the radio clients 28 of the potential hosts 26 b, the potential guests 26 c, and/or the potential advertisers 26 d. First, the radio client 28 a receives a notification of a scheduled talk radio program from the radio program process 20 of the talk radio program service 12 (step 300). The notification may indicate the topic of the scheduled talk radio program, the host of the talk radio program, the guest(s) to be on the scheduled talk radio program, a time at which the scheduled talk radio program will be available, or any combination thereof.

The radio client 28 a determines whether the notification is ignored or accepted (step 302). Preferably, the radio client 28 a may determine whether the notification is ignored or accepted based on a corresponding input from the potential listener 26 a. If the notification is ignored, the radio client 28 a determines whether to delete the topic of interest of the talk radio program from the participant preferences of the potential listener 26 a (step 304). Preferably, the radio client 28 a determines whether to delete the topic of interest from the participant preferences of the potential listener 26 a based on a corresponding input from the potential listener 26 a or based on a pre-configured preference of the potential listener 26 a. For example, the potential listener 26 a may define a preference stating that if notifications for talk radio programs having a particular topic are ignored a threshold number of times (e.g., three), then that topic is to be deleted as a topic of interest of the potential listener 26 a. If the topic is to be deleted, the radio client 28 a deletes the topic of the talk radio program from the participant preferences of the potential listener 26 a (step 306). Note that if the topic of the talk radio program is not a topic of interest of the potential listener 26 a, then steps 304 and 306 may be skipped. Alternatively, if the topic of the talk radio program is not a topic of interest of the potential listener 26 a, the topic may be blocked such that notifications for talk radio programs having that topic are prevented or blocked from being sent to the potential listener 26 a in the future. The topic may be blocked after being ignored once or being ignored a predetermined number of times (e.g., ignored three times). With respect to blocking the topic, the process may then end or proceed to step 308 depending on the desired implementation.

Returning to step 304, if the topic of interest is not to be deleted, the radio client 28 a determines whether to expand the semantic relevance defined in the participant preferences of the potential listener 26 a (step 308). Again, this determination may be made based on a corresponding input from the potential listener 26 a or a pre-configured preference of the potential listener 26 a. If the semantic relevance is to be expanded, the radio client 28 a expands the semantic relevance defined in the participant preferences of the potential listener 26 a (step 310). For example, the semantic relevance value may be changed from its current value to a lower semantic relevance value.

Returning to step 308, if the semantic relevance is not to be expanded, the radio client 28 a determines whether to restrict the semantic relevance defined in the participant preferences of the potential listener 26 a (step 312). Again, this determination may be made based on a corresponding input from the potential listener 26 a or a pre-configured preference of the potential listener 26 a. If the semantic relevance is to be restricted, the radio client 28 a restricts the semantic relevance defined in the participant preferences of the potential listener 26 a (step 314). For example, the semantic relevance value may be changed from its current value to a higher semantic relevance value. Whether proceeding from step 306, 310, or 314, at this point, the process ends.

Returning to step 302, if the notification is accepted, the radio client 28 a determines whether an action is to be automatically performed (step 316).

The action to be automatically performed, if any, is defined within the participant preferences of the potential listener 26 a. Exemplary actions that may be automatically performed include, but are not limited to:

-   -   automatically joining a call queue for the talk radio program,     -   automatically joining a chat room established for the talk radio         program in general,     -   automatically joining a chat room established for listeners of         the talk radio program in a geographic area in which the         potential listener 26 a is located,     -   automatically joining a chat room established for listeners of         the talk radio program having user profiles that are similar to         a user profile of the potential listener 26 a,     -   automatically joining a chat room established for listeners of         any talk radio program having the same topic or similar topic as         the talk radio program,     -   automatically posting a comment to a chat room,     -   automatically launching supplemental content related to the talk         radio program (e.g., website of one of the guest(s), website         related to the topic of the talk radio program, or the like),     -   automatically inviting one or more pre-defined friends of the         potential listener 26 a to listen to the talk radio program, or     -   automatically configuring settings at the client device 16 a         (e.g., speakers, volume, screen layout, turn off iTunes, or the         like).

If an action is to be performed, the radio client 28 a automatically performs the action (step 318). Note that any information needed to perform the action (e.g., telephone number or Voice over Internet Protocol (VoIP) connection information for call queue, chat room Uniform Resource Locator (URL), or the like) may be provided in the notification or otherwise obtained from the radio program process 20. At this point, whether proceeding from step 316 or 318, the radio client 28 a enables participation in the talk radio program (step 320). In one embodiment, the radio client 28 a includes a media player feature that enables the potential listener 26 a to listen to the talk radio program. In another embodiment, the radio client 28 a enables the potential listener 26 a to listen to the talk radio program via a separate media player application. In addition, the radio client 28 a may enable the potential listener 26 a to interactively participate in the talk radio program by, for example, joining one of a number of chat rooms established for the talk radio program by the radio program process 20, calling in to the host of the talk radio program (e.g., being added to a call queue for the talk radio program), or the like. Note that if the potential listener 26 a is enabled to call in to the talk radio program, the radio client 28 a may automatically mute the talk radio program or otherwise substantially reduce the volume of the talk radio program when the potential listener 26 a is “on the air.”

As discussed above, in one embodiment, the radio program process 20 automatically establishes one or more chat rooms for listeners of talk radio programs. The radio program process 20 may establish the chat rooms using an internal chat room feature of the radio program process 20, a separate chat room process executed by the server 14, or a third-party chat room service.

FIG. 7 is a flow chart illustrating the operation of the radio client 28 a to enable a potential listener 26 a to join a chat room automatically established by the radio program process 20 according to one embodiment of the present disclosure. More specifically, first, the radio client 28 a receives user input from the potential listener 26 a selecting a chat room from a number of chat rooms automatically established by the radio program process 20 (step 400). The potential listener 26 a is enabled to select the chat room to join during participation in a talk radio program. The chat rooms automatically established by the radio program process 20 may include, for example, a general chat room for listeners of the talk radio program, a number of chat rooms for listeners of the talk radio program for different geographic areas (e.g., zip codes, cities, regions, states, or the like), a number of chat rooms for listeners of the talk radio program having similar user profiles (e.g., similar demographics or the like), and/or a number of chat rooms for listeners of different talk radio programs having the same or similar topics. Once the potential listener 26 a selects the desired chat room, the radio client 28 a operates to join the potential listener 26 a to the desired chat room (step 402). The radio client 28 a may enable the potential listener 26 a to join the desired chat room using, for example, a known URL for the desired chat room.

FIG. 8 illustrates an exemplary graphical user interface 80 presented or rendered by the radio client 28 a of a potential listener 26 a participating in a talk radio program. As illustrated, via the graphical user interface 80, the potential listener 26 a is enabled to join a chat room with other listeners of the talk radio program located within the same geographic area, which in this example is the zip code 27502, by selecting button 82. Similarly, the potential listener 26 a is enabled to join a chat room with other listeners of the talk radio program having similar user profiles (e.g., similar demographics or the like) by selecting button 84. The potential listener 26 a is enabled to join a chat room with listeners of other talk radio programs having the same topic as the talk radio program that the potential listener 26 a is listening to by selecting button 86.

FIG. 9 is a block diagram of the server 14 of FIG. 1 according to one embodiment of the present disclosure. As illustrated, the server 14 includes a controller 88 connected to memory 90, one or more secondary storage devices 92, and a communication interface 94 by a bus 96 or similar mechanism. The controller 88 is a microprocessor, digital Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), or the like. In this embodiment, the controller 88 is a microprocessor, and the radio program process 20 is implemented in software and stored in the memory 90 for execution by the controller 88. Further, in one embodiment, the participant preference repository 22 and the radio program repository 24 are stored in the one or more secondary storage devices 92. The secondary storage devices 92 are digital data storage devices such as, for example, one or more hard disk drives. The communication interface 94 is a wired or wireless communication interface that communicatively couples the server 14 to the network 18 (FIG. 1). For example, the communication interface 94 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, or the like.

FIG. 10 is a block diagram of one of the client devices 16 of FIG. 1 according to one embodiment of the present disclosure. As illustrated, the client device 16 includes a controller 98 connected to memory 100, a communication interface 102, and one or more user interface components 104 by a bus 106 or similar mechanism. The controller 98 is a microprocessor, digital ASIC, FPGA, or the like. In this embodiment, the controller 98 is a microprocessor, and the radio client 28 (FIG. 1) is implemented in software and stored in the memory 100 for execution by the controller 98. The communication interface 102 is a wired or wireless communication interface that communicatively couples the client device 16 to the network 18 (FIG. 1). For example, the communication interface 102 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, a mobile communications interface such as a cellular telecommunications interface, or the like. The one or more user interface components 104 include, for example, a touchscreen, a display, one or more user input components (e.g., a keypad), a speaker, or the like, or any combination thereof.

It should be noted that there is substantial opportunity for variation without departing from the spirit or scope of the concepts described herein. Specifically, while the radio client 28 has been described herein with respect to the dynamic talk radio program scheduling feature of the talk radio program service 12, the radio client 28 may be used in other systems. For example, in one alternative embodiment, the talk radio program service 12 may provide a number of radio stations with programming that is scheduled in a traditional manner (i.e., not using the dynamic scheduling described herein). However, the preferences of the potential participant 26 of the radio client 28 may nonetheless be compared to information describing scheduled talk radio programs in order to notify the potential participant 26 of scheduled talk radio programs that satisfy the potential participant's preferences. As discussed above, the preferences may include a topic of interest, a time availability, a semantic relevance, a guest of interest, a host of interest, a location availability, or the like. Further, if the potential participant 26 chooses to participate in the talk radio program, the potential participant 26 may be enabled to join one of a number of chat rooms automatically established for or in relation to the talk radio program.

Also, while the discussion herein focuses on talk radio programs, the concepts described herein are applicable to other types of content. For example, the concepts described herein may be used to notify users of audio/video news programs (e.g., television news programs), audio/video talk shows, or the like, and may also be used to dynamically schedule such content.

Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow. 

1. A method of operating a client device of a potential participant for a talk radio program, comprising: providing participant preferences for the potential participant to a talk radio program service, wherein the participant preferences include at least a topic of interest and a semantic relevance; and receiving a notification from the talk radio program service for a talk radio program satisfying the participant preferences of the potential participant.
 2. The method of claim 1 wherein the participant preferences further comprise a time availability indicating when the potential participant is available to participate in the talk radio program.
 3. The method of claim 2 wherein the talk radio program has a topic that is the same as the topic of interest of the potential participant or a topic that is semantically related to the topic of interest of the potential participant at least to a degree defined by the semantic relevance, and the talk radio program is scheduled for a time period during which the potential participant is available as indicated by the time availability of the potential participant.
 4. The method of claim 1 wherein the talk radio program has a topic that is the same as the topic of interest of the potential participant or a topic that is semantically related to the topic of interest of the potential participant at least to a degree defined by the semantic relevance.
 5. The method of claim 1 wherein the participant preferences further comprise a guest of interest and the talk radio program has a guest that is the same as the guest of interest or semantically related to the guest of interest at least to a degree defined by the semantic relevance.
 6. The method of claim 1 wherein the participant preferences further comprise a host of interest and the talk radio program has a host that is the same as the host of interest.
 7. The method of claim 1 wherein the participant preferences further comprise a location availability such that the notification is received when the potential participant is located in a location defined by the location availability.
 8. The method of claim 1 wherein the participant preferences further comprise a notification preference and receiving the notification from the talk radio program service for the talk radio program comprises receiving the notification from the talk radio program via one or more modes defined by the notification preference.
 9. The method of claim 1 wherein the participant preferences further comprise an action to be performed automatically, and the method further comprises performing the action automatically on behalf of the potential participant.
 10. The method of claim 9 wherein the action to be performed automatically is automatically adding the potential participant to a call queue for the talk radio program.
 11. The method of claim 9 wherein the action to be performed automatically is automatically joining the potential participant to a chat room.
 12. The method of claim 9 wherein the action to be performed automatically is automatically posting a comment from the potential participant to a chat room.
 13. The method of claim 9 wherein the action to be performed automatically is automatically launching supplemental content related to the talk radio program.
 14. The method of claim 9 wherein the action to be performed automatically is automatically inviting one or more friends of the potential participant to participate in the talk radio program.
 15. The method of claim 9 wherein the action to be performed automatically is automatically configuring the client device.
 16. The method of claim 1 wherein the participant preferences further comprise an action to be performed automatically, and the method further comprises: accepting the notification; in response to accepting the notification, performing the action automatically on behalf of the potential participant with respect to participating in the talk radio program; and enabling the potential participant to participate in the talk radio program.
 17. The method of claim 1 wherein the participant preferences further comprise an action to be performed automatically, and the method further comprises: accepting the notification; and enabling the potential participant to participate in the talk radio program.
 18. The method of claim 1 wherein a topic of the talk radio program is the same as the topic of interest or semantically related to the topic of interest at least to a degree defined by the semantic relevance, and the method further comprises deleting the topic of interest in response to non-acceptance of the notification.
 19. The method of claim 1 wherein a topic of the talk radio program is the same as the topic of interest or semantically related to the topic of interest at least to a degree defined by the semantic relevance, and the method further comprises expanding the semantic relevance in response to non-acceptance of the notification.
 20. The method of claim 1 wherein a topic of the talk radio program is the same as the topic of interest or semantically related to the topic of interest at least to a degree defined by the semantic relevance, and the method further comprises restricting the semantic relevance in response to non-acceptance of the notification.
 21. The method of claim 1 further comprising enabling the potential participant to participate in the talk radio program.
 22. The method of claim 21 wherein enabling the potential participant to participate in the talk radio program comprises enabling the potential participant to join one of a plurality of chat rooms automatically established by the talk radio program service while listening to the talk radio program.
 23. The method of claim 22 wherein the plurality of chat rooms comprise at least one of a group consisting of: a general chat room for the talk radio program, one or more chat rooms for listeners of the talk radio program in different geographic areas, one or more chat rooms for listeners having similar user profiles, and one or more chat rooms for listeners of different talk radio programs having same or similar topics.
 24. A client device of a potential participant for a talk radio program, comprising: a communication interface communicatively coupling the client device to a server implementing a talk radio program service via a network; and a control system associated with the communication interface and adapted to: provide participant preferences for the potential participant to the talk radio program service, wherein the participant preferences include at least a topic of interest and a semantic relevance; and receive a notification from the talk radio program service for a talk radio program satisfying the participant preferences of the potential participant.
 25. A computer readable medium storing software for instructing a control system of a client device of a potential participant for a talk radio program to: provide participant preferences for the potential participant to a talk radio program service, wherein the participant preferences include at least a topic of interest and a semantic relevance; and receive a notification from the talk radio program service for a talk radio program satisfying the participant preferences of the potential participant. 